


#ifndef SIMULATION_H
#define SIMULATION_H

#include "Timer.h"

class Model;

class Simulation
{
public:
	
protected:
	
	// SINGLETON
	Simulation();
	
private:
	
	static Simulation* _instance;
	
public:	
	
	static Simulation* Instance();
	
	void mainLoop();
	
	void preprocess();
	
	void render(float timestep);
	
	void setupOpenGL();
	
	void drawGrid(float edgeLength, int numDivisions);
	
	
	class Timer* LFT; //LastFrameTimer
	class Timer LIT;
	
	class FracturedMesh* m_fracturedMesh;
	
	class Polygonizer* m_polygonizer;
	
	
};


#endif //SIMULATION_H